home *** CD-ROM | disk | FTP | other *** search
/ Macworld Expo - Develope…Central & Net Innovations / Developer Central and Net Innovators (MacWorld Expo) (January 1999).iso / Developer Central / Bowers Development / Demo AppMaker / Examples / C⁄C++ OS8 / Gadgets / GadgetsDoc.cp < prev    next >
Encoding:
Text File  |  1998-09-06  |  1.7 KB  |  105 lines  |  [TEXT/CWIE]

  1. // GadgetsDoc.cp -- document-level functions
  2.  
  3. #include <Types.h>
  4. #include <Events.h>
  5. #include <Menus.h>
  6. #include "Globals.h"
  7. #include "ResourceDefs.h"
  8. #include "Miscellany.h"
  9. #include "GadgetsEngine.h"
  10.  
  11. #include "AboutDialog.h"
  12. #include "DDocData.h"
  13. #include "Buttons.h"
  14. #include "DDocData.h"
  15. #include "TabbedPanel.h"
  16. #include "DDocData.h"
  17. #include "EditText.h"
  18. #include "GadgetsDoc.h"
  19.  
  20. //----------
  21. GadgetsDoc::GadgetsDoc ()
  22. {
  23.     mEngine = new GadgetsEngine;
  24.  
  25.     mButtonsPtr = nil;
  26.     mTabbedPanelPtr = nil;
  27.     mEditTextPtr = nil;
  28. }
  29.  
  30. //----------
  31. GadgetsDoc::~GadgetsDoc ()
  32. {
  33. }
  34.  
  35. //----------
  36. GadgetsEngine*        GadgetsDoc::GetEngine ()
  37. {
  38.     return (GadgetsEngine*) mEngine;
  39. }
  40.  
  41. //----------
  42. void    GadgetsDoc::OpenWindows ()
  43. {
  44.     GadgetsEngine*        engine = GetEngine ();
  45.     DDocData*        docData = engine->GetDocData ();
  46.  
  47.     Buttons::Create (this, docData);
  48.     TabbedPanel::Create (this, docData);
  49.     EditText::Create (this, docData);
  50. }
  51.  
  52. //----------
  53. Boolean        GadgetsDoc::WouldCloseDoc (
  54.     WindowPtr        windPtr)
  55. {
  56.     short        numOpen = 0;
  57.  
  58.     if (mButtonsPtr != nil)        numOpen++;
  59.     if (mTabbedPanelPtr != nil)        numOpen++;
  60.     if (mEditTextPtr != nil)        numOpen++;
  61.  
  62.     return (numOpen <= 1);
  63. }
  64.  
  65. //----------
  66. void    GadgetsDoc::DoInvokeAbout ()
  67. {
  68.     if (CAboutDialog::GetAboutDialog ()) {
  69.  
  70.         // post-invoke code
  71.     }
  72. }
  73.  
  74. //----------
  75. Boolean        GadgetsDoc::DoCommand (
  76.     long        inCommand)
  77. {
  78.     Boolean        result = true;
  79.  
  80.     switch (inCommand) {
  81.         case cmdSave:
  82.                 DoSave ();
  83.             break;
  84.         case cmdSaveAs:
  85.                 DoSaveAs ();
  86.             break;
  87.         case cmdRevert:
  88.                 DoRevert ();
  89.             break;
  90.         case cmdPageSetup:
  91.                 DoPageSetup ();
  92.             break;
  93.         case cmdPrint:
  94.                 DoPrint ();
  95.             break;
  96.         case cmdInvokeAbout:
  97.                 DoInvokeAbout ();
  98.             break;
  99.  
  100.         default:
  101.                 result = false;
  102.     } // switch
  103.     return result;
  104. }
  105.